package com.greenold.service.domain;

import java.util.ArrayList;
import java.util.List;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.greenold.common.annotation.Excel;
import com.greenold.common.core.domain.BaseEntity;

/**
 * 护理计划对象 care_plan
 *
 * @author YueYang
 * @date 2025-10-13
 */
public class CarePlan extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private String id;

    /**
     * 编号
     */
    private String code;

    /**
     * 排序号
     */
    private Long sortOrder;

    /**
     * 护理计划名称
     */
    @Excel(name = "护理计划名称")
    private String name;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String status;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * $column.columnComment
     */
    private Date updatedAt;

    /**
     * 创建人
     */
    @Excel(name = "创建人id")
    private String createdBy;

    /**
     * 创建人名称
     */
    @Excel(name = "创建人名称")
    private String creator;


    /**
     * $column.columnComment
     */
    private String updatedBy;

    /**
     * 护理项目id
     */
    private Long careItemId;

    /**
     * 备注信息
     */
    private String remark;

    /**
     * 扩展字段2
     */
    private String extend2;

    /**
     * 护理项目信息
     */
    private List<CarePlanItem> carePlanItemList = new ArrayList<>();


    public CarePlan() {
    }

    public CarePlan(String id, String code, Long sortOrder, String name, String status, Date createdAt, Date updatedAt, String createdBy, String creator, String updatedBy, Long careItemId, String remark, String extend2, List<CarePlanItem> carePlanItemList) {
        this.id = id;
        this.code = code;
        this.sortOrder = sortOrder;
        this.name = name;
        this.status = status;
        this.createdAt = createdAt;
        this.updatedAt = updatedAt;
        this.createdBy = createdBy;
        this.creator = creator;
        this.updatedBy = updatedBy;
        this.careItemId = careItemId;
        this.remark = remark;
        this.extend2 = extend2;
        this.carePlanItemList = carePlanItemList;
    }

    /**
     * 获取
     *
     * @return id
     */
    public String getId() {
        return id;
    }

    /**
     * 设置
     *
     * @param id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取
     *
     * @return code
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置
     *
     * @param code
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取
     *
     * @return sortOrder
     */
    public Long getSortOrder() {
        return sortOrder;
    }

    /**
     * 设置
     *
     * @param sortOrder
     */
    public void setSortOrder(Long sortOrder) {
        this.sortOrder = sortOrder;
    }

    /**
     * 获取
     *
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     *
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     *
     * @return status
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置
     *
     * @param status
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 获取
     *
     * @return createdAt
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置
     *
     * @param createdAt
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取
     *
     * @return updatedAt
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置
     *
     * @param updatedAt
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取
     *
     * @return createdBy
     */
    public String getCreatedBy() {
        return createdBy;
    }

    /**
     * 设置
     *
     * @param createdBy
     */
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    /**
     * 获取
     *
     * @return creator
     */
    public String getCreator() {
        return creator;
    }

    /**
     * 设置
     *
     * @param creator
     */
    public void setCreator(String creator) {
        this.creator = creator;
    }

    /**
     * 获取
     *
     * @return updatedBy
     */
    public String getUpdatedBy() {
        return updatedBy;
    }

    /**
     * 设置
     *
     * @param updatedBy
     */
    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    /**
     * 获取
     *
     * @return careItemId
     */
    public Long getCareItemId() {
        return careItemId;
    }

    /**
     * 设置
     *
     * @param careItemId
     */
    public void setCareItemId(Long careItemId) {
        this.careItemId = careItemId;
    }

    /**
     * 获取
     *
     * @return remark
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置
     *
     * @param remark
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取
     *
     * @return extend2
     */
    public String getExtend2() {
        return extend2;
    }

    /**
     * 设置
     *
     * @param extend2
     */
    public void setExtend2(String extend2) {
        this.extend2 = extend2;
    }

    /**
     * 获取
     *
     * @return carePlanItemList
     */
    public List<CarePlanItem> getCarePlanItemList() {
        return carePlanItemList;
    }

    /**
     * 设置
     *
     * @param carePlanItemList
     */
    public void setCarePlanItemList(List<CarePlanItem> carePlanItemList) {
        this.carePlanItemList = carePlanItemList;
    }

    public String toString() {
        return "CarePlan{serialVersionUID = " + serialVersionUID + ", id = " + id + ", code = " + code + ", sortOrder = " + sortOrder + ", name = " + name + ", status = " + status + ", createdAt = " + createdAt + ", updatedAt = " + updatedAt + ", createdBy = " + createdBy + ", creator = " + creator + ", updatedBy = " + updatedBy + ", careItemId = " + careItemId + ", remark = " + remark + ", extend2 = " + extend2 + ", carePlanItemList = " + carePlanItemList + "}";
    }
}
